package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 *  视图
 *
 * @author code-generate
 * @date 2021-08-06
 */
@Data
@ApiModel(value = "Car 视图", description = " 视图")
public class CarVO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

    @ApiModelProperty(value = "uuid")
    private String carId;

        /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号")
    @Excel(name = "车牌号", orderNum = "0")
    @NotBlank(message = "[车牌号]不能为空")
    private String carNum;

    /**
     * 车辆类型ID 对应t_car_class.c_id
     */
    @ApiModelProperty(value = "车辆类型ID 对应t_car_class.c_id")
    private Integer type;

    /**
     * 车辆类型
     */
    @ApiModelProperty(value = "车辆类型")
    @Excel(name = "车辆类型", orderNum = "0")
    @NotBlank(message = "[车辆类型]不能为空")
    private String typeName;

    /**
     * 车牌颜色Id  对应t_sys_dict.c_id
     */
    @ApiModelProperty(value = "车牌颜色Id  对应t_sys_dict.c_id")
    @Excel(name = "车牌颜色", orderNum = "0",replace = {"蓝色_1","黄色_2","绿色_3"})
    public Integer carColorId;

    /**
     * 车牌颜色
     */
    @ApiModelProperty(value = "车牌颜色")
    private String carColorName;

    /**
     * 车辆颜色
     */
    @ApiModelProperty(value = "车辆颜色")
    @Excel(name = "车辆颜色", orderNum = "0")
    private String color;

    /**
     * 发动机号
     */
    @ApiModelProperty(value = "发动机号")
    @Excel(name = "发动机号", orderNum = "0")
    private String engineNum;

    /**
     * 权属类型
     */
    @ApiModelProperty(value = "权属类型")
    @Excel(name = "权属类型", orderNum = "0",replace = {"未知_0","自有_1","租用_2"})
    private Integer ownType;

    /**
     * 行驶证编号
     */
    @ApiModelProperty(value = "行驶证编号")
    @Excel(name = "行驶证编号", orderNum = "0")
    private String licenseCode;

    /**
     * 行驶证到期时间
     */
    @ApiModelProperty(value = "行驶证到期时间")
    @Excel(name = "行驶证到期时间", orderNum = "0")
    private LocalDateTime licenseDate;

    /**
     * 所在项目组ID t_company_team.c_id
     */
    @ApiModelProperty(value = "所在项目组ID t_company_team.c_id")
    @Excel(name = "所在项目组ID t_company_team.c_id", orderNum = "0")
    private Integer teamId;

    /**
     * t_company.c_id
     */
    @ApiModelProperty(value = "t_company.c_id")
    @Excel(name = "t_company.c_id", orderNum = "0")
    private Integer companyId;

    /**
     * -1：停用，0：闲置，1：审核中，2：在用
     */
    @ApiModelProperty(value = "-1：停用，0：闲置，1：审核中，2：在用")
    @Excel(name = "车辆状态", orderNum = "0",replace = {"停用_-1","闲置_0","审核中_1","在用_2"})
    public Integer workState;

    /**
     * 工作状态
     */
    @ApiModelProperty(value = "工作状态")
    private String workStateDesc;

    /**
     * 行驶证附件ID
     */
    @ApiModelProperty(value = "行驶证附件ID")
    @Excel(name = "行驶证附件ID", orderNum = "0")
    private String fileId;

    /**
     * 车辆头像
     */
    @ApiModelProperty(value = "车辆头像")
    @Excel(name = "车辆头像", orderNum = "0")
    private String photoId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", orderNum = "0")
    private LocalDateTime dbCreateDate;

    /**
     *   对应t_sys_user.c_id
     */
    @ApiModelProperty(value = "  对应t_sys_user.c_id")
    @Excel(name = "  对应t_sys_user.c_id", orderNum = "0")
    private Integer dbCreateId;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    @Excel(name = "最后更新时间", orderNum = "0")
    private LocalDateTime dbLastUpdateDate;

    /**
     *  对应t_sys_user.c_id
     */
    @ApiModelProperty(value = " 对应t_sys_user.c_id")
    @Excel(name = " 对应t_sys_user.c_id", orderNum = "0")
    private Integer dbLastUpdateId;

    /**
     * 片区Id  t_extent.c_id
     */
    @ApiModelProperty(value = "片区Id  t_extent.c_id")
    @Excel(name = "片区Id  t_extent.c_id", orderNum = "0")
    private Integer extentId;

    /**
     * 片区
     */
    @ApiModelProperty(value = "片区")
    @Excel(name = "片区", orderNum = "0")
    private String extentName;

    /**
     * 公园Id t_park.c_id
     */
    @ApiModelProperty(value = "公园Id t_park.c_id")
    @Excel(name = "公园Id t_park.c_id", orderNum = "0")
    private Integer parkId;

    /**
     * 公园
     */
    @ApiModelProperty(value = "公园")
    @Excel(name = "公园", orderNum = "0")
    private String parkName;

    /**
     * 标段Id
     */
    @ApiModelProperty(value = "标段Id")
    @Excel(name = "标段Id", orderNum = "0")
    private Integer sectionId;

    /**
     * 标段名称
     */
    @ApiModelProperty(value = "标段")
    @Excel(name = "标段", orderNum = "0")
    private String sectionName;

    @ApiModelProperty(value = "设备 Id")
    private Integer gpsId;

    @ApiModelProperty(value = "设备编号")
    private String clientKey;

    @ApiModelProperty(value = "在线状态（0：离线，1：在线）")
    private Integer onlineType;

    @ApiModelProperty(value = "在线时长")
    private Integer onlineTime;

    @ApiModelProperty(value = "有效时长")
    private Integer validTime;

    @ApiModelProperty(value = "有效里程")
    private Integer validMileage;

    private double geoX;

    private double geoY;
}
